Distributed systems have created great opportunities for implementing more efficient and available system architectures. Systems may no longer be limited by the capabilities of an individual computing system, but may instead share the workload for performing complex computing tasks, maintaining and storing data, or implementing various applications or services among multiple different computer systems. For example, in some distributed systems different tiers may perform or provide different functionality for the distributed system. Each tier may be implemented by computing systems optimized to perform the respective functions of the tier, whether optimized by hardware, software, or other specialized configuration. In this way, specific tasks may be performed more efficiently in an optimized environment, and the workload for performing these respective functions may be distributed among different systems configured to share the burden for the respective functions.
Distributed systems may also take advantage of the increased reliability of using diverse physical infrastructure for different computing systems in order to survive failures of different individual systems. Diverse physical infrastructure may provide flexibility for a distributed system to respond to changing conditions or demands inherent in the dynamic environments in which many distributed systems operate. Web-based services, for example, are subject to power or network failures that may affect large numbers of computing systems implementing a distributed system. If the affected computing systems provide a functionality of the web-based service, other computing systems implemented in different physical infrastructures may be used to supply the missing functionality in order to allow the web-based service to continue to operate.
While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that the embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include”, “including”, and “includes” mean including, but not limited to.